package com.test.firstjava;

public class Main {
    /*
Java定义的数据类型
一、变量按照数据类型来分：
   基本数据类型：
       整型：byte  ,  short  ,  int  ,long
       浮点型：float  ，double
       字符型：char
       布尔型：boolean

    引用数据类型：
       类（class）
       接口（interface）
       数组（array）

二、变量在类中声明的位置：
     成员变量    vs     局部变量

 */

        public static void main(String[] args) {
            // 1.整型：byte（1个字节=8个bit）  ,  short（2个字节）  ,  int（4个字节）  ,long（8个字节）
            //①  byte范围：-128 ～127

            byte b1 = 12;
            byte b2 = -128;
            //b2 = 128;//编译不通过
            System.out.println(b1);
            System.out.println(b2);
            //②声明long型变量，必须以“l”（小写l）或“L”结尾
            //③通常，定义整型变量时，使用int型
            short s1 = 128;
            int i1 = 1234;
            long l1 = 3414234324L;
            System.out.println(s1);
            System.out.println(i1);
            System.out.println(l1);

            //2.浮点型：float(4个字节)  ，double（8个字节）//float保留小数点7位有效数字；double保留14位，满足日常需求
            //①浮点型，表示带小数点的数值
            //②float表示数值的范围比long还大
            double d1 = 123.3;
            System.out.println(d1 + 1);
            //③定义float类型变量时，变量值的末尾要以“f”或“F”结尾
            float f1 = 12.3f;
            System.out.println(f1);

            //④通常，定义浮点型变量时，使用double型

            //3.字符型：char（1字符 = 2字节）
            //①定义char型变量，通常使用一对''（在单引号中写字符）
            //单引号内部只能写一个字符
            char c1 = 'a';
            //c1 = 'AB';(编译不通过，两个及以上只能用字符串）
            c1 = 'A';
            System.out.println(c1);

            char c2 = '1';
            char c3 = '中';
            char c4 = 'あ';
            System.out.println(c2);
            System.out.println(c3);
            System.out.println(c4);

            //②表示方式：1.声明一个字符 2.转义字符 3.直接使用Unicode值表示字符型常量
            char c5 = '\n';//换行符
            c5 = '\t';//制表符
            System.out.print("hello" + c5);
            System.out.println("world");

            char c6 = '\u0043';
            System.out.println(c6);

            //4.布尔型：boolean
            //① 只能取两个值之一： true  、 false  （一个问题两个选择选其一）
            //②常常在条件判断、循环结构中使用
            boolean b3 = true;
            System.out.println(b3);

            boolean isMarried = true;
            if(isMarried){
                System.out.println("你就不能参加单身party了！很遗憾");
            }else{
                System.out.println("你可以多谈谈女朋友！");
            }
        }

}
